package com.ruoyi.hisoutpbill.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

import java.util.Date;
import java.util.Objects;

/**
 * @ClassName OutpOrderDesc
 * @Author samula
 * @Descripe product by com.doctcloud
 * @Data 2025-09-23 2:43
 **/
public class OutpOrderDescDo extends BaseEntity {
    private static final long serialVersionUID = 1L;
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "就诊日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date visitDate;
    @Excel(name="就诊序号")
    private Integer visitNo;
    @Excel(name = "患者ID")
    private String patientId;
    @Excel(name = "开单科室代码")
    private String orderedByDept;
    @Excel(name = "开单科室医生")
    private String orderedByDoctor;
    @Excel(name = "单据号")
    private String rcptNo;
    @Excel(name = "单据类型")
    private Integer prescIndicator;

    public OutpOrderDescDo() {
    }

    public OutpOrderDescDo(Date visitDate, Integer visitNo, String patientId, String orderedByDept, String orderedByDoctor, String rcptNo, Integer prescIndicator) {
        this.visitDate = visitDate;
        this.visitNo = visitNo;
        this.patientId = patientId;
        this.orderedByDept = orderedByDept;
        this.orderedByDoctor = orderedByDoctor;
        this.rcptNo = rcptNo;
        this.prescIndicator = prescIndicator;
    }

    public Date getVisitDate() {
        return visitDate;
    }

    public void setVisitDate(Date visitDate) {
        this.visitDate = visitDate;
    }

    public Integer getVisitNo() {
        return visitNo;
    }

    public void setVisitNo(Integer visitNo) {
        this.visitNo = visitNo;
    }

    public String getPatientId() {
        return patientId;
    }

    public void setPatientId(String patientId) {
        this.patientId = patientId;
    }

    public String getOrderedByDept() {
        return orderedByDept;
    }

    public void setOrderedByDept(String orderedByDept) {
        this.orderedByDept = orderedByDept;
    }

    public String getOrderedByDoctor() {
        return orderedByDoctor;
    }

    public void setOrderedByDoctor(String orderedByDoctor) {
        this.orderedByDoctor = orderedByDoctor;
    }

    public String getRcptNo() {
        return rcptNo;
    }

    public void setRcptNo(String rcptNo) {
        this.rcptNo = rcptNo;
    }

    public Integer getPrescIndicator() {
        return prescIndicator;
    }

    public void setPrescIndicator(Integer prescIndicator) {
        this.prescIndicator = prescIndicator;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        OutpOrderDescDo that = (OutpOrderDescDo) o;
        return Objects.equals(visitDate, that.visitDate) && Objects.equals(visitNo, that.visitNo) && Objects.equals(patientId, that.patientId);
    }

    @Override
    public int hashCode() {
        return Objects.hash(visitDate, visitNo, patientId);
    }

    @Override
    public String toString() {
        return "OutpOrderDescDo{" +
                "visitDate=" + visitDate +
                ", visitNo=" + visitNo +
                ", patientId='" + patientId + '\'' +
                ", orderedByDept='" + orderedByDept + '\'' +
                ", orderedByDoctor='" + orderedByDoctor + '\'' +
                ", rcptNo='" + rcptNo + '\'' +
                ", prescIndicator=" + prescIndicator +
                '}';
    }
}
